home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Celestin Apprentice 4
/
Apprentice-Release4.iso
/
Source Code
/
Libraries
/
Graphic Elements 3
/
LibHdrs
/
FastBitCopies.h
< prev
next >
Wrap
Text File
|
1995-02-24
|
2KB
|
67 lines
/*
FastBitCopies.h
Interface to FastBitCopies.c
Special bit copy routines for 8-bit graphics
Copyright 1993 by Al Evans
1/27/93
*/
#undef TESTING_C_RTNS
//Is this for the PowerMac?
#if (defined(powerc) || defined(__powerc) || defined (TESTING_C_RTNS))
#define MoveBitsXP CMoveBitsXP
#define MoveBitsXPOR CMoveBitsXPOR
#define MoveBitsCP CMoveBitsCP
#define MoveBitsMasked CMoveBitsMasked
#endif
enum {
notTransparent = 40
};
#ifdef __cplusplus
extern "C" {
#endif
pascal void FastCopyBits(const BitMap *srcBits,const BitMap *dstBits,const Rect *srcRect,
const Rect *dstRect,short mode,RgnHandle maskRgn);
//Returns a ptr to a 8-bit mask the same size as srcBits
//The mask confains 0xFF for each byte of keyPalIndex in srcBits, 0x00 for all others
Ptr MakeMask(const BitMap *srcBits, char keyPalIndex);
/*
Assembly engines
*/
extern void MoveBitsXP(Ptr source, Ptr dest,
long nLines, long nBytesPerLine,
long srcRowBytes, long destRowBytes, long mirrorFlags);
extern void MoveBitsXPOR(Ptr source, Ptr dest,
long nLines, long nBytesPerLine,
long srcRowBytes, long destRowBytes, long mirrorFlags, long colorIndex);
extern void MoveBitsNOTXP(Ptr source, Ptr dest,
long nLines, long nBytesPerLine,
long srcRowBytes, long destRowBytes);
extern void MoveBitsCP(Ptr source, Ptr dest,
long nLines, long nBytesPerLine,
long srcRowBytes, long destRowBytes);
extern void MoveBitsMasked(Ptr source, Ptr dest,
long nLines, long nBytesPerLine,
long srcRowBytes, long destRowBytes, Ptr mask, long mirrorFlags);
#ifdef __cplusplus
}
#endif